#ifndef __MY_FILE_H__
#define __MY_FILE_H__

#include <iostream>
#include <string>
#include <cstdio>

using namespace std;

class My_File
{
private:
    FILE *fd;

public:
    // 构造函数和析构函数
    My_File() {}
    ~My_File() {}

    // 文件打开
    void open(const char *filename, const char *mode);

    // 判断文件是否打开成功
    bool is_open();

    // 文件关闭
    void close();

    // 文件写入运算符重载
    void operator<<(const char *buf);
    void operator<<(const string &str);
    void operator<<(My_File & File);

    // 文件读取运算符重载
    void operator>>(char *buf);
    void operator>>(string &str);

    // 光标移动
    void seek(long offset, int origin);
};

#endif // __MY_FILE_H__
